package com.gonsin.gview.annotations.board.form;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * 文件上传，并生成url
 */
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface GFile {

    /**
     * 是否有效
     */
    boolean enable() default true;

    /**
     * 是否为必填
     */
    boolean required() default true;

    /**
     * 表单提交时对应的key值
     */
    String keyName() default "";

    /**
     * 表单提交时将文件名存储的字段名，为空时不传
     */
    String filenameKeyName() default "";

    /**
     * 下拉框显示的名字
     */
    String name() default "";

    /**
     * 提示语
     */
    String placeholder() default "";

    /**
     * 文件大小限制单位b
     */
    long maxSize() default Long.MAX_VALUE;

    /**
     * 支持的文件格式，例如   .apk,.jar,.gonsin,。jpg
     */
    String accept() default ".*";

    /**
     * 接收文件个数，如果多个，收到的字符串为  /files/xxx.xx,/files/xxx.yy
     */
    int limit() default 1;

    /**
     * 判断条件显示，支持js语法，例如   showIf="type==1"
     */
    String showIf() default "1";

    /**
     * 可支持的文件上传类型，如果是file，表示只支持文件
     * 如果是path，表示支持文件和文件夹
     * @return
     */
    String fileUploadType() default "file";

    /**
     * 判断条件禁用，支持js语法，例如   disableIf="{{form.type}} == 1"
     */
    String disableIf() default "0";

}
